Ansible এ ভ্যারিয়েবল এবং ফ্যাক্ট হলো দুটি গুরুত্বপূর্ণ উপাদান যা প্লেবুকের কার্যকারিতা ও কাস্টমাইজেশন বাড়াতে সাহায্য করে। এদের মাধ্যমে আপনি প্লেবুকে ডাইনামিক কনফিগারেশন বা তথ্য যোগ করতে পারেন।
Ansible এ ভ্যারিয়েবল হলো এমন কিছু মান (values) যা আপনি প্লেবুক, রোল, বা টাস্কে ব্যবহার করতে পারেন। এটি পুনঃব্যবহারযোগ্য কোড তৈরিতে সাহায্য করে এবং প্লেবুককে ডাইনামিক বা পরিবর্তনশীল করে তোলে।
ভ্যারিয়েবল ব্যবহার করার কিছু উপায়:
--extra-vars
দিয়ে---
- name: Install and configure Apache
hosts: webservers
become: yes
vars:
apache_package: apache2
apache_service: apache2
tasks:
- name: Install Apache
apt:
name: "{{ apache_package }}"
state: present
- name: Start Apache service
service:
name: "{{ apache_service }}"
state: started
enabled: yes
এখানে, apache_package
এবং apache_service
নামে দুটি ভ্যারিয়েবল ব্যবহার করা হয়েছে যা প্লেবুকের বিভিন্ন স্থানে একই মান (values) রেফার করে।
ফ্যাক্টস হলো Ansible এর মাধ্যমে গ্যাদার করা সিস্টেম ইনফরমেশন বা তথ্য। Ansible প্লেবুক চালানোর সময় setup
মডিউল ব্যবহার করে স্বয়ংক্রিয়ভাবে হোস্ট মেশিন থেকে ফ্যাক্টস সংগ্রহ করে, যেমন: অপারেটিং সিস্টেম, মেমরি, সিপিইউ, নেটওয়ার্ক ইন্টারফেস ইত্যাদি।
ফ্যাক্টস ব্যবহার করার উদ্দেশ্য:
---
- name: Display OS information
hosts: all
gather_facts: yes
tasks:
- name: Print the OS information
debug:
msg: "The operating system is {{ ansible_distribution }} and version is {{ ansible_distribution_version }}"
এখানে, ansible_distribution
এবং ansible_distribution_version
হলো ফ্যাক্টস, যা হোস্টের অপারেটিং সিস্টেমের নাম ও ভার্সন সম্পর্কে তথ্য প্রদান করে।
ভ্যারিয়েবল | ফ্যাক্টস |
---|---|
ইউজার দ্বারা নির্ধারিত মান যা প্লেবুক বা রোল-এ ব্যবহার করা হয়। | Ansible স্বয়ংক্রিয়ভাবে হোস্ট থেকে সংগ্রহ করা তথ্য। |
YAML ফাইলে বা কমান্ড লাইনে নির্ধারণ করা যায়। | প্লেবুক চালানোর সময় স্বয়ংক্রিয়ভাবে সংগ্রহ করা হয়। |
সাধারণত স্থায়ী বা প্রি-ডিফাইনড মান হিসেবে থাকে। | হোস্টের কনফিগারেশন বা চলমান অবস্থার উপর নির্ভরশীল। |
আরও দেখুন...